1. Technical Field
The present invention relates generally to an improved data processing system, and in particular, to a method and apparatus for synchronizing data. Still more particularly, the present invention provides a method and apparatus for creating a change log to be used in synchronizing data between a single client database and multiple server databases.
2. Description of Related Art
Portable devices, such as personal digital assistants (PDAs) and laptop computers, have become more and more pervasive in everyday use. As microprocessors have become more powerful and storage has become smaller in physical size, PDAs have become more and more popular. A PDA is a handheld computer that serves as an organizer for personal information. A PDA generally includes at least a name and address database, to-do list and note taker. PDAs are pen based and use a stylus to enter selections on menus and to enter printed characters. A PDA also may include a small on-screen keyboard, which is tapped with the pen.
Data may be synchronized between the PDA and desktop computer through a communications link, such as a cable or a wireless link. The databases on these types of devices are also referred to as embedded databases. An embedded database is a database program used on an embedded device, such as a PDA, a cell phone, or some other similar dedicated device. This type of database may be developed from scratch or may be a slimmed down version of a database management system. These embedded devices have limited amounts of memory. The databases are typically synchronized with other devices, such as a desktop data processing system or a server. The synchronization is performed to transfer data to data processing systems with more processing power, storage and capability, as well as to keep data synchronized with other embedded devices.
In many cases, these devices communicate through a low bandwidth connection, such as a wide area wireless connection. In such a case, it is very important to send a minimal amount of data because of the low bandwidth connection. In synchronizing data between multiple databases, minimizing the amount of data sent is even more important in order to reduce the time needed to synchronize a client database in an embedded device with other databases. Therefore, it would be advantageous to have an improved method, apparatus, and computer instructions for synchronizing a database on an embedded device with databases on other servers or computers.